package site.anxuan.seckill.common;

import org.springframework.util.DigestUtils;
import org.springframework.util.StringUtils;
import site.anxuan.seckill.common.ErrorCode;

import java.text.SimpleDateFormat;
import java.util.Date;

/**
 * 通用工具类
 *
 * @author 黯玄
 * @since v1.0
 */
public class Tools {

    /**
     * 加密盐值
     */
    private static final String salt = "SECOND KILL";

    /**
     * MD5加密方法
     *
     * @param str 加密字符串
     * @return 密文
     */
    public static String md5(String str) {
        if (!StringUtils.hasText(str))
            throw new site.anxuan.seckill.common.BusinessException(ErrorCode.PARAMETER_ERROR, "参数不合法！");
        return DigestUtils.md5DigestAsHex((str + salt).getBytes());
    }

    /**
     * 日期格式化方法
     *
     * @param date 日期
     * @param pattern 日期格式
     * @return 格式化日期
     */
    public static String dateFormat(Date date, String pattern) {
        return new SimpleDateFormat(pattern).format(date);
    }

}
